package utils;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
import java.sql.*;

public class  DataBaseUtil {
   public static Connection getConnection() throws NamingException, SQLException {
       Context context = new InitialContext();
       Context contextNeeded = (Context) context.lookup("java:comp/env");
       DataSource ds =
               (DataSource) contextNeeded.lookup("blogConn");//获得连接池。
       Connection con = ds.getConnection();//使用连接池中的连接。
       return con;
   }
    //关闭连接，在数据池中的close方法并不是真正的断开与数据库的连接，只是把Connection对象放回数据池
    public  static  void close(ResultSet set, Statement statement, Connection connection, PreparedStatement preparedStatement){
        try {
            if (set!=null){//判断是否为null 是的话关闭
                set.close();
            }
            if (connection!=null){
                connection.close();
            }
            if (statement!=null){
                statement.close();
            }
            if (preparedStatement!=null){
                preparedStatement.close();
            }
        }
        catch (SQLException e) {
            throw new RuntimeException();
        }
    }
}
